#include "mainwindow.h"
#include "ui_mainwindow.h"

void MainWindow::gif_init()
{
    // 无边框
    setWindowFlags(Qt::FramelessWindowHint);
    // setAttribute(Qt::WA_TranslucentBackground);

    // 创建背景 QLabel 和 GIF 动画
    backgroundLabel = new QLabel(this);
    QMovie *movie = new QMovie(":/img/R-C.gif");

    // 设置 GIF 动画到 QLabel
    backgroundLabel->setMovie(movie);
    backgroundLabel->setGeometry(this->rect()); // 填满整个窗口
    backgroundLabel->setScaledContents(true);  // 自动拉伸适配窗口大小
    backgroundLabel->lower();                  // 将背景设置到最底层

    // 启动 GIF 动画
    movie->start();
}

// 重写 resizeEvent 函数
void MainWindow::resizeEvent(QResizeEvent *event)
{
    QMainWindow::resizeEvent(event);           // 调用基类的 resizeEvent 方法
    backgroundLabel->setGeometry(this->rect()); // 根据窗口大小调整背景 QLabel 的尺寸
}

// 按下
void MainWindow::mousePressEvent(QMouseEvent *event)
{
    if(event->button() == Qt::LeftButton) // 判断为左键按下
    {
        //event->globalPos() 鼠标按下的全局坐标
        //frameGeometry().topLeft() 当前界面的 左上角坐标
        off_Pox = event->globalPos() - frameGeometry().topLeft();
        // qDebug() << "左键按下";
        is_key = true;
    }
}

// 松开
void MainWindow::mouseReleaseEvent(QMouseEvent *event)
{
    if(is_key)
    {
        is_key = false;
    }
}

// 移动
void MainWindow::mouseMoveEvent(QMouseEvent *event)
{
    if(is_key)
    {
        // qDebug() << event->globalPos();
        // 移动界面
        this->move(event->globalPos() - off_Pox);
    }
}

// 按下esc退出
void MainWindow::keyPressEvent(QKeyEvent *event)
{
    if(event->key() == Qt::Key_Escape)
    {
        // qDebug() << "esc按下";
        this->close();
    }
}
